<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>递归</title>
</head>
<body>
  <script>
// 什么事递归?
// 从前有座山,山里有座庙,庙里有个老和尚在讲故事,讲的是从前有座山...
// 递归:就是函数自己调用自己,但是一定要有结束条件
// 从5+4+3+2+1 = 15
function add(num){
  // 必须要有结束条件
  if(num===1){return 1}
  return num+add(num-1)
}
// return 5+add(4)
// return 5+4+add(3)
// return 5+4+3+add(2)
// return 5+4+3+2+add(1)
// return 5+4+3+2+1
// alert(add(5));

// 5*4*3*2*1
// 定义一个函数输入一个值n返回数列n的值\
// 数列(斐波拉契数列)[1,1,2,3,5,8,13,21,....]

function fib(n){
  // 第1位和第2位返回的都是1
  if(n==1||n==2){
    return 1
  }else{
    // 第n位的值等于 第n-1+第n-2的值
    // fib数列的值,下一个数等于前面两个数据的和
    return fib(n-1)+fib(n-2);
  }
}
// alert(fib(43));
// 数组 [1,[2,[3,4,[5,6,7,[8,9]]]]]
// [1,2,3,4,5,6,7,8,9]
// 定义一函数,输入数组,输出一个扁平数组
function flat(list){
  var temp = [];
  // 遍历list 如果list[1]不是数组就push是数组就递归
  for(let i=0;i<list.length;i++){
    // 如果是数组
    if(list[i] instanceof Array){
      // 现有的temp与 flat(数组)返回结果合并
      temp = temp.concat(flat(list[i]))
    }else{
      // 如果不是数组就直接放入temp
      temp.push(list[i]);
    }
  }
  return temp;
}
var li = [1,[2,[3,4,[5,6,7,[8,9]]]]];
console.log(flat(li))
function doit(){
for(var i=0;i<30;i++){
  fetch("http://dida100.com:8889/api/countStaff")
  .then(res=>res.json())
  .then(res=>{
    console.log(res)
  })
}
}



  </script>
</body>
</html>